package com.hontech.bvapp2.ui.parts.cargo

import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.widget.Button
import android.widget.FrameLayout
import com.hontech.bvapp2.R
import com.hontech.bvapp2.device.cp.Cargo
import com.hontech.bvapp2.ui.dialog.runProg
import com.hontech.bvapp2.utils.onClick

class CargoCyCtrlParts (context: Context, attrs: AttributeSet) : FrameLayout(context, attrs) {

    init {
        val view = LayoutInflater.from(context).inflate(R.layout.parts_cargo_cy_ctrl, this)
        val attr = context.obtainStyledAttributes(attrs, R.styleable.CargoCyCtrlParts)
        val cargo = attr.getInteger(R.styleable.CargoCyCtrlParts_cy_cargo, 0)
        attr.recycle()

        val close = view.findViewById<Button>(R.id.id_cargo_cy_cy_close)
        val top = view.findViewById<Button>(R.id.id_cargo_cy_cy_top)
        val bottom = view.findViewById<Button>(R.id.id_cargo_cy_cy_bottom)
        val inner = view.findViewById<Button>(R.id.id_cargo_cy_cy_inner)
        val extern = view.findViewById<Button>(R.id.id_cargo_cy_cy_extern)
        val draw = view.findViewById<Button>(R.id.id_cargo_cy_comp_draw)
        val release = view.findViewById<Button>(R.id.id_cargo_cy_comp_release)
        val compClose = view.findViewById<Button>(R.id.id_cargo_cy_comp_close)
        val jaw = view.findViewById<Button>(R.id.id_cargo_cy_jaw)

        close.onClick {
            runProg("气缸", "关闭") {
                Cargo.cyCtrl(cargo, 0)
            }
        }

        top.onClick {
            runProg("气缸", "往上") {
                Cargo.cyCtrl(cargo, 1)
            }
        }

        bottom.onClick {
            runProg("气缸", "往下") {
                Cargo.cyCtrl(cargo, 2)
            }
        }

        inner.onClick {
            runProg("气缸", "转入") {
                Cargo.cyCtrl(cargo, 3)
            }
        }

        extern.onClick {
            runProg("气缸", "转出") {
                Cargo.cyCtrl(cargo, 4)
            }
        }

        draw.onClick {
            runProg("空压机", "吸取") {
                Cargo.cyCtrl(cargo, 5)
            }
        }

        release.onClick {
            runProg("空压机", "松开") {
                Cargo.cyCtrl(cargo, 6)
            }
        }

        compClose.onClick {
            runProg("空压机", "关闭") {
                Cargo.cyCtrl(cargo, 7)
            }
        }

        jaw.onClick {
            runProg("抓取", "抓取") {
                Cargo.cyCtrl(cargo, 8)
            }
        }
    }
}